package org.teamh.gui;

import org.teamh.gui.ingame.IngameScreen;
import org.teamh.gui.loadingscreen.LoadingScreen;
import org.teamh.gui.lobby.LobbyScreen;
import org.teamh.gui.login.LoginScreen;
import org.teamh.gui.mapeditor.MapEditorScreen;

import de.lessvoid.nifty.Nifty;

/**
 * This interface provides the methods for either the gui or the ai. 
 * @author richard
 *
 */
public interface InterfaceManager{

	public void start();
	
	public void close();
	
	public void addEvent(Event e);
	
	public Nifty getNifty();
	
	public Screen getCurrentScreen();
	
	public LoadingScreen getLoadingScreen();
	
	public LoginScreen getLoginScreen();
	
	public LobbyScreen getLobbyScreen();
	
	public MapEditorScreen getMapEditorScreen();

	public IngameScreen getIngameScreen();
	
	public void setCurrentScreen(Screen currentScreen);
	
	public void interrupt();
	
	public void setFollowingScreen(Screen followingScreen);
}
